1. Technical Field
The present invention relates to computer servers and, more particularly, to creation and management of virtual servers.
2. Description of the Related Art
The increasing use and reliance on computers has created a similar increase in administration requirements. In a typical networked environment, such as a corporate local area network (LAN), there are a number of computers that must be regularly configured. In order to maintain costs at a reasonable level, it is common to reduce the number of human system administrators, and configure the computers automatically. This can be done by loading identical configurations on each computer, and causing each computer to boot and load appropriate software from a central server. This is facilitated, in part, by the fact that each computer has a hardware identification allowing it to connect to the network. Thus, when certain changes and/or updates must be made to the computer configurations, most only need to be made to the copies on the central server.
Certain companies, however, maintain very large servers that are capable of accommodating users with different requirements. It is common for such companies to divide a server into partitions that are capable of performing different functions independently. Such partitions are often referred to as virtual servers. Virtual servers are completely transparent to end users, and operate as if they were independent servers. Consider a large physical server, for example, that includes thirty-two processors, and supports various divisions of a company. The most resource intensive divisions are engineering and customer support. There is also heavy reliance on a relational database management system (RDBMS). The server can create four virtual servers for theses divisions, and allocate sixteen processors for normal operations, eight processors for engineering, four processors for customer support, and four processors for the RDBMS. It should be noted that other resources such as memory, disk storage, etc., would also be allocated in order provide fully operational virtual servers.
Each virtual server can be independently reconfigured to accommodate the needs of the company and divisions. For example, if a major design project is underway, resources can be redistributed so that twelve or sixteen processors are allocated to engineering. During tax season, a virtual server can be created for the accounting division. Since these virtual servers are not physical in nature, none of the configuration is done through the hardware. The physical server can be dynamically reconfigured without having to interrupt other partitions and/or rebooting the physical server.
At least one problem associated with virtual servers, however, is that they still require system maintenance. They must be able to load appropriate software, boot, and access the network. This can be further complicated by the fact that a virtual server is not an actual server and, consequently, lacks any unique hardware characteristics by which it can be identified. For example, a personal computer that is connected to the network has a unique media access control (MAC) address associated with it's network interface card. This facilitates identification and/or configuration of the personal computer so that it is capable of retrieving data across the network. Since the virtual server has no hardware identification, it must be configured with some sort of virtual identification and assigned a function before it can be booted. This can sometimes increase the overhead associated with the network.
Another problem associated with virtual servers is that they must be individually reconfigured each time there is a software update and/or virus update. This can require a significant amount of overhead for companies that provide web hosting services and maintain hundreds, or even thousands, of virtual severs. Each time there is a software update, hundreds of virtual servers may need to be reconfigured. Furthermore, the clients who set up these web hosting accounts are not necessarily system administrators, even though they have full administration privileges. These clients can sometimes contribute to additional system failures that require reconfiguring the virtual server.